我已经使用vhost设置了子域名m.localhost。 m.locahost指向htdocs / m /文件夹
我希望m.localhost/page
和m.localhost/page.php
都工作并显示为m.localhost/page
。在我的生产网站上,我的.htaccess文件中有类似的东西,它运行正常:
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
RewriteCond %{HTTP_HOST} ^m\.mysite\.com$ [NC]
RewriteRule ^((?!m/).*)$ m/$1 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
我在localhost上使用类似的技术,但它不起作用。我被定向到localhost(而不是m。)。但是,如果我删除.htaccess文件,.php文件工作正常。
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
RewriteCond %{HTTP_HOST} ^m\.localhost$ [NC]
RewriteRule ^((?!m/).*)$ m/$1 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
如何使其与我的制作网站的行为相似?非常感谢你!
答案 0 :(得分:0)
我最终将AllowOverride All
添加到vhost设置中,之后事情进展顺利。
<VirtualHost *:80>
ServerName m.localhost
DocumentRoot "C:/xampp/htdocs/m/"
<Directory "C:/xampp/htdocs/m">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>