我使用此代码来解析URL
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
print_r(parse_url(curPageURL()));
echo parse_url($url, PHP_URL_PATH);
当URL像这样时起作用:
test.com/index.php/aaa
它返回“ index.php / aaa”,但是我不希望index.php位于URL中,我希望URL像这样,例如:
test.com/aaa
,然后返回“ aaa”,但显示404错误。我该如何解决我的问题? 我认为我必须在“ .htaccess”中进行更改,但是如果我更改“ index.php”而不是404页面,则没有404
答案 0 :(得分:1)
您可能需要重写URL。如果您有apache服务器,则在.htaccess文件或vhosts定义文件中,可以尝试以下操作:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<activity android:name=".RegisterActivity" />
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity"/>
</application>
如果您在既不是目录又不是文件的浏览器中键入内容,它会告诉Web服务器重写URL,而我们运行index.php文件。
它将test.com/aaa重写为test.com/index.php/aaa。