RewriteRule for Pretty URL无法正常工作

时间:2014-04-18 14:44:33

标签: .htaccess mod-rewrite

我网站的网址属于

类型
http://localhost/cms2/pages.php?mpage=2

我编写了以下.htaccess以创建漂亮的网址,但没有任何反应

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([0-9]+)\/$ pages.php?spage=$1 [NC]

我已经测试了Mod-rewite和其他重写规则。例如,我有一个名为“contact-us.php”的文件。我可以使用以下代码使其看起来像“mysite.com/contact-us”:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 

RewriteRule ^(.*)$ $1.php
RewriteRule ^(.*)\.html$ $1.php [nc]

任何帮助将不胜感激。 提前谢谢。

索尼亚

1 个答案:

答案 0 :(得分:0)

因为正则表达式不正确而无法正常工作。在根目录中使用此规则.htaccess:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9]+)/([^./]+)/?$ /cms2/$2.php?spage=$1 [L,QSA]

这将重写一个漂亮的URI:/3/page//cms2/page.php?spage=3