我最终要做的是做/关于而不是/main.php?p=about。我看过一些帖子(like this!)但似乎没有一个帖子可供我使用。
首先,我将重写规则放在httpd.conf中这是正确的吗? 很多地方都提到.htaccess但我在任何看起来很重要的目录中都没有该文件(唯一的引用是在phpMyAdmin中)。我将文件从phpMyAdmin复制到htdocs中,然后用一个简单的规则替换文本:
RewriteEngine on
RewriteRule home main.php [L]
然而,localhost / home报告了错误请求。
首先,我应该使用哪个文件&如果.htaccess我应该把文件放在哪里&我必须在任何其他文件中引用它吗?其次,以下内容可能适用于我想要的方法吗?
RewriteEngine on
RewriteRule ^([^/]+)/? main.php?p=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
感谢任何清晰度和救命。 麦克
答案 0 :(得分:0)
RewriteCond
之后你确实有条件(RewriteRule
)。它应该是其他方式。
启用mod_rewrite
和.htaccess
至httpd.conf
,然后将此代码放入DOCUMENT_ROOT/.htaccess
文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /main.php?p=$1 [L,QSA]
RewriteRule ^home/?$ main.php [L,NC]