我想更新网址以显示文件夹名称,而不是单个文件。 我相信这可以使用 mod_rewrite 来完成,但我似乎无法让它工作。这是在本地网络设备上,而不是公共服务器上。 PHP是版本4。
跑步:
<?php
print_r(apache_get_modules());
?>
我明白了:
Array
(
[0] => core
[1] => mod_access
[2] => mod_auth
[3] => mod_include
[4] => mod_log_config
[5] => mod_env
[6] => mod_setenvif
[7] => mod_ssl
[8] => prefork
[9] => http_core
[10] => mod_mime
[11] => mod_status
[12] => mod_autoindex
[13] => mod_asis
[14] => mod_cgi
[15] => mod_negotiation
[16] => mod_dir
[17] => mod_imap
[18] => mod_actions
[19] => mod_userdir
[20] => mod_alias
[21] => mod_rewrite
[22] => mod_so
[23] => sapi_apache2
)
这表明mod_rewrite已启用。
我的目录结构是: 10.10.10.1/local/accounts/payments
在付款中,我有多个 .php 文件,而不是每个文件在地址栏中显示为filename.php,我更愿意只显示 http://10.10.10.1/local/accounts/payments
< /强>
在付款文件夹中,我创建了一个 .htaccess 文件并包含:
RewriteEngine on
RewriteRule ^*\.php$ /local/accounts/payments
但地址栏中没有任何变化。谁能告诉我我做错了什么。
由于
更新
对不起我认为我不是很清楚。
我想改变
http://10.10.10.1/local/accounts/payments/bacs.php
到
http://10.10.10.1/local/accounts/payments
或付款中的任何php文件只显示付款而不是文件名。
由于
答案 0 :(得分:0)
如果我理解正确,你想要那个网址
http://10.10.10.1/local/accounts/payments/rent
重写
http://10.10.10.1/local/accounts/payments/rent.php
在这种情况下:
RewriteRule ^local/accounts/payments/(.*)$ local/accounts/payments/$1.php
答案 1 :(得分:0)
在htaccess文件中尝试一下,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^local/accounts/payments/([^/]+)$ /local/accounts/payments/$1.php [NC,L]
如需澄清,如果您希望以下网址显示在地址栏中
http://10.10.10.1/local/accounts/payments/somefilename
然后上面的规则应该有效。如果付款实际上是一个文件,即payments.php,那么它将使用此规则。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^local/accounts/([^/]+)$ /local/accounts/$1.php [NC,L]