本地主机上的RewriteRule

时间:2017-06-21 19:20:08

标签: php .htaccess mod-rewrite

localhost,xampp,win 7
网站根文件夹为s02,因此所有相关文件(包括.htaccess)都在此文件夹下。

这样的链接工作正常:
http://localhost/news/s02/view.php?art=160915142500&title=blue-sky

我想要以下计算网址 http://localhost/articles/160915142500/blue-sky

.htaccess

RewriteEngine on
RewriteBase /
RewriteRule ^articles/([0-9]+)/([a-zA-Z-_]*)$ view.php?art=$1&title=$2 [NC,L]

结果 - 错误404

的httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so - 取消评论 AllowOverride All

.htaccess(test) - 这有效:

RewriteEngine on
RewriteRule ^ http://example.com/? [L,R]  

的phpinfo();
mod_rewrite位于Loaded Modules

之下

任何帮助?

2 个答案:

答案 0 :(得分:1)

尝试使用以下规则,我们告诉apache传入的uri不是文件或目录。

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^articles/([0-9]+)/([a-zA-Z-_]*)$ /news/s02/view.php?art=$1&title=$2 [NC,L]

答案 1 :(得分:0)

.htaccess文件放入根文件夹,即xtdp的htdocs(我猜)。 .htaccess文件应该是这样的。

RewriteEngine on
RewriteBase /
RewriteRule ^articles/([0-9]+)/([a-zA-Z-_]*)$ news/s02/view.php?art=$1&title=$2 [NC,L]